package com.woniuxy.system.mapper;

import com.woniuxy.system.demol.entity.Role;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.woniuxy.system.demol.entity.User;
import com.woniuxy.system.demol.vo.RoleAllVo;
import com.woniuxy.system.demol.vo.RoleUpdateVo;
import com.woniuxy.system.demol.vo.RoleVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author why
 * @since 2023-09-08
 */
public interface RoleMapper extends BaseMapper<Role> {

    Role selectByName(String name);

    Integer insertRole(Role newRole);



    Boolean insertSR(@Param("sid") Integer sid,@Param("reRid") Integer reRid);

    List<RoleAllVo> findAllRole(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);

    int pageListCount();

    int addNewRole(RoleUpdateVo role);


    List<RoleAllVo> findAllRole2(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);

    int pageListCount3();
    int pageListCount4();


    List<RoleAllVo> findAll3(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
    List<RoleAllVo> findAll4(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);

    List<RoleAllVo> searchAll(@Param("input") String input, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);

    List<RoleAllVo> searchAll2(@Param("num")Integer num,@Param("input") String input, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);

    int pageListCount1(@Param("input") String input, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);

    int pageListCount2(@Param("num")Integer num,@Param("input") String input, @Param("offset") Integer offset, @Param("pageSize") Integer pageSize);

    boolean updateRoleState(@Param("i")int i,@Param("name")String name);

    RoleAllVo findRoleByAccount(String account);

    RoleAllVo findRoleByName(String account);

    void addSSR(@Param("rid")Integer rid,@Param("sid") Integer sid);

    Boolean updateRole(RoleUpdateVo role);

    RoleAllVo findRoleById(Integer id);

    void updateSSR(@Param("id")Integer id,@Param("sid") Integer sid);

    Boolean updateNewRoleDate(@Param("name") String name,@Param("id")Integer id);


    List<RoleAllVo> findNewRole( @Param("offset") Integer offset, @Param("pageSize") Integer pageSize, @Param("id")Integer id);

    int pageListCount6(Integer i);

    List<RoleAllVo> findAllRole3(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize);
}
